Conventional backup systems are often required to trawl a file system in order to identify the files or data to be backed up. Every time a backup is performed, the system is trawled in order to identify the files that need to be handled by the backup system. This includes changed files, new files, and the like. Unfortunately, many file systems include a large amount of data or a large number of files. Trawling a large or high-density file system can require hours. Trawling the file system is becoming unacceptable due in part to the time requirement.
This problem is addressed in part by allowing the backup operation to be selective. More specifically, the backup system may be configured to backup only certain parts of a file system such as selected directories. However, backing up selected directories can lead to problems over time as files or directories are renamed, moved, or the like.
More specifically, when selectively backing up a directory in the context of a directory that is renamed into the directory selected for backup, it may be necessary to trawl at least a part of the directory. In addition, a storage snapshot can be used during the trawl. This proves cumbersome. In addition to taking a long time, storage snapshots however have several drawbacks. Storage snapshots increase Copy On Write (COW) overhead which can slow down the storage sub-system. Due to the COW overhead, application performance is degraded. Storage snapshots also require additional storage and cooperation from storage administrators. Systems and methods are needed that manage selective directory backups without requiring the file system be trawled during a backup operation.